<?php

    //命名空间
	namespace core\lib;

	/**
	 * 路由类
	 */
	class route
	{
	    //控制器
		public $ctrl;
		//方法
		public $action;

		function __construct()
		{
		    /**
             * 1、隐藏index.php
             * 2、获取URL参数部分
             * 3、返回对应的控制器和方法
             */
		    // 获取url参数并且参数不是一个 / 的时候，就来解析url，否则控制器就是index，方法也是index
			if(isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] != '/'){
				$path = $_SERVER['REQUEST_URI'];
				// trim去掉第一个斜线，然后通过斜线分割url

                $newPath = str_replace('/index.php/','',$path);
                $pathArr = explode('/',$newPath);
				// $pathArr = explode('/',trim($path,'/index.php'));
				// 如果存在第一位的话说明控制器已经有了

				if(isset($pathArr[0])){
					$this->ctrl = $pathArr[0];
				}
				unset($pathArr[0]);
				// 如果存在第二位的话证明我们的方法也有了，否则方法就是index
				if(isset($pathArr[1])){
					$this->action = $pathArr[1];
					unset($pathArr[1]);
				}else{
					$this->action = 'index';
				}
				// url多余部分转化成get参数
				$count = count($pathArr) + 2;
				$i = 2;
				while ($i < $count) {
					if(isset($pathArr[$i + 1])){
						$_GET[$pathArr[$i]] = $pathArr[$i + 1];
					}
					$i = $i + 2;
				}
			}else{
			    // 默认情况下，控制器和方法都是index
				$this->ctrl = 'index';
				$this->action = 'index';
			}
		}
	}